home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-02-04 | 9.3 KB | 218 lines | [TEXT/R*ch] |
- MacTraceroute 1.0 02/04/95
- ©1994-5 Jim Browne (jbrowne@uiuc.edu)
-
- (No awards yet, but since when do unfinished applications win awards?)
-
- • Contents
- What is it?
- How much does it cost?
- What's new with this release?
- Any known bugs in 1.0?
- What do you plan for future versions?
- What are the features?
- How do I use it?
- How does it work?
- Who should I sue if it destroys my machine?
- Who should I thank?
- Who wrote this?
- What else has Jim Browne written?
- What horrid bugs existed in former versions?
-
- • What is it?
-
- MacTraceroute is a program that attempts to trace the route an IP packet would
- follow to some internet host. It is not guaranteed to be 100% accurate, but
- more often than not is close enough to reality to assist in debugging network
- problems.
-
- • How much does it cost?
-
- Nothing. MacTraceroute and the associated Traceroute Ethernet LAP are free. You
- can do anything you want with them except incorporate them into a commercial
- product without my written permission. Public domain, shareware, and SUMEX-like
- CD collections, however, may include both packages on their product.
-
- • What's new with this release?
-
- 1) Zoomed windows are constrained to available desktop.
- 2) Now using System 7's new window stagger function since it's there.
- 3) Probes per TTL used actually matches value in New Traceroute dialog,
- rather than using one less than the value entered.
- 4) When traces are started when MacTraceroute is in the background
- (i.e. from an AppleEvent), windows have inactive scrollbars (as
- they should).
- 5) Trace times are now "attached" to the right side of the window.
- 6) Results of traces may now be copied to the clipboard.
- 7) Fixed the application icon masks.
-
- • Any known bugs in 1.0?
-
- 1) Simultaneous traces act a little weird. Excessive timeouts.
- 2) Some visual problems with the trace window: Horizontal scroll bar
- problems. Sometimes updates aren't drawing everything.
-
- • What do you plan for future versions?
-
- 1) Add some optional parameters to the "traceroute" appleevent.
- 2) Make New Trace dialog moveable modal.
- 3) Implement pinging of hops.
- 4) Incorporate Adam Goodfellow's nifty path MTU discovery code.
-
- • What are the features?
-
- MacTraceroute implements almost all of the features supported by the UNIX
- traceroute command. MacTraceroute does not currently support the Loose
- Source Record Route option of traceroute.
-
- • How do I use it?
-
- First, hit command-n to bring up a new traceroute dialog. Type in the host
- name or IP address of the host you wish to attempt to traceroute to. The
- remaining fields in the dialog require some explanation:
-
- Max TTL: This specifies the maximum ttl traceroute should use in
- its outgoing probes. This usually coincides with the
- number of hops, but not neccessarily.
-
- Timeout per Probe: This specifies the number of seconds to wait for a
- response to a probe.
-
- Probes per TTL: This specifies the number of probes to send with a given
- TTL value. Usually is Probers per hop, but not always.
-
- Starting Port: This specifies the UDP port number that MacTraceroute will
- start the probes at. If something on the target machine is
- using a port at or just above this port number, traceroute may
- fail to work correctly. If you suspect this to be the problem,
- try a different starting port. This field is automatically
- filled with a random number.
-
- Resolve IP Addresses: If this is checked, MacTraceroute will try a reverse
- DNS lookup on the ip addresses of each hop.
-
- Loose Source Record Route: Currently not supported.
-
- The remaining fields can be used to set certain bits in the probes' IP
- header. Reference RFC 791 for a complete description of these fields.
- They are, in my opinion, self explanatory.
-
- After you hit the "Traceroute" button, a window will appear showing the results
- of the traceroute. The number on the left is the hop number. To the right of
- this is the IP address of the hop, and optionally the DNS name of the hop.
- To the right of this information is the round trip time for each probe.
-
- When the trace is completed, the window title will have a "•" inserted at the
- beginning.
-
- A few other things can appear in place of round trip times:
- !SE An error occurred when attempting to send the probe
- * A timeout occurred waiting for the probe to return
- !N A network unreachable condition was reported
- !H A host unreachable condition was reported
- !P A protocol unreachable condition was reported
- !S A source route failure occurred
- !F A fragmentation needed condition was reported (Shouldn't happen)
-
- • How does it work?
-
- MacTraceroute works by sending UDP packets with a destination IP address of the
- host you wish to trace to, and an artificially low TTL field. When a gateway or
- router forwards an IP packet, it decrements the TTL field. When the TTL field
- is decremented to zero, an ICMP Time Exceeded error message is sent to the
- originating host. Thus, by sending out UDP packets with TTLs of 1,2,3, and so
- on, and listening for the ICMP error messages, you can determine the route the
- packets are taking to the host in question. This method is not 100% reliable,
- for reasons beyond the scope of this document. It works well enough for most
- uses. MacTraceroute requires a special LAP for MacTCP since MacTCP does not
- allow applications to modify the TTL field of packets, nor does it give
- applications direct access to ICMP messages.
-
- • Who should I sue if it destroys my machine?
-
- Not me. The MacTraceroute application and the Traceroute Ethernet LAP have no warranty
- whatsoever. I have tried to eliminate all of the bugs from the code, but I probably
- will never eliminate them all. If MacTraceroute or the LAP damage your machine in any
- way, I am sorry, but I cannot be held liable. If you think it stinks just remember:
- You get what you pay for.
-
- • Who should we thank?
-
- First and foremost, the legendary Van Jacobsen (van@helios.ee.lbl.gov). This
- application was inspired by and is directly derived from the code of Van Jacobsen's
- traceroute.
-
- VJ thanks Steve Deering, C. Phillip Wood, Tim Seaver, and Ken Adelman in the
- traceroute man page, so you should too.
-
- I would like to thank Blaine Kubesh for bugging me to work on the MacTraceroute
- application and the Traceroute Ethernet LAP. I'd also like to thank Apple for
- producing A/UX, a UNIX implementation so crappy it drove me to port traceroute
- to MacOS. Without A/UX, I'd probably be happy to continue running traceroute
- on my local UNIX box.
-
- As with everything I program, Matt Elliott for being such a nagging pain. I
- probably would just watch TV all day if it weren't for Matt bitching at me. ;)
-
- I should also thank Steve Dorner for exclaiming 'Why in the hell are you doing
- that there?' (paraphrased) about my LDEF code. He put me onto the trail of some
- updating bugs that have plauged many of my programs.
-
- • Who wrote this?
-
- MacTraceroute was written by Jim Browne (jbrowne@uiuc.edu). Jim was a Senior in
- Computer Engineering at the University of Illinois - Chambana. Jim currently works
- for Sonic Systems, Inc., a manufacturer of Ethernet hardware and Macintosh
- Software. Jim likes all things related to Led Zeppelin and frisbee (which is a brand
- name and registered trademark of the wham-o mfg. company). Jim doesn't mind getting
- bug reports and wish list suggestions via email, so long as they contain "Traceroute"
- in their subject so Eudora can filter them to the proper mailbox. Beginning with the
- writing of this file, Jim apparently likes referring to himself in the third person.
-
- • What else has Jim Browne written?
-
- DNSLib A library that makes working with MacTCP's DNR much easier by providing
- application-time callbacks for DNR responses, queueing of DNR requests,
- and handling of N concurrent DNR questions. MacTraceroute and MacFSP use
- this library.
-
- MacFSP A Macintosh client for the FSP protocol.
-
- • What horrid bugs existed in former versions?
-
- Version 1.0b1 (12/23/94):
-
- 1) DNS errors from the destination host lookup produce an error dialog.
- 2) About Dialog is now centered.
- 3) Horizontal window growth is now bounded.
- 4) Removed "Probes Per TTL" from info bar as it was redundant.
- 5) Zoom box has been added.
- 6) Support for the four required appleevents added.
- 7) Support for a "traceroute" appleevent.
-
- Version 1.0d4 (11/22/94):
-
- 1) Fixed the corruption bug that was causing intermittent crashes.
- 2) Fixed the "crash if you close an active traceroute window" bug.
- 3) Fixed the updating bugs.
- 4) Text is no longer clipped at the bottom (losing the bottom of a "g", etc.)
- 5) First hop is no longer duplicated.
- 6) Target hop results are now displayed.
- 7) Scroll bar strangeness has been corrected.
-
- Version 1.0d3 (11/4/94):
-
- 1) New interface.
- 2) Optional inverse DNS lookups of hops.
- 3) Fixed "crash on second trace" bug.
- 4) More than one traceroute allowed at a time.
- 5) Precedence and Type of Service implemented
-
- Version 1.0d2 (7/30/94):
-
- This release fixes a bug in the source IP address in the outgoing traceroute
- probes.
-
- Version 1.0d1 (7/29/94):
-
- This is the first time this code has left my machine in any capacity.
-